A software development methodology is an approach used to organize, design, and coordinate the process of developing an information system. One example of a software development methodology is the “Waterfall” development model. In the Waterfall model, developers use a sequential development approach in which development is seen as progressing through the phases of needs analysis, design, implementation, testing, integration, and maintenance.
Another example of a software development methodology is the “Agile” development model. In the Agile development model, developers iteratively and incrementally develop an information system. The changeable needs and solutions of each project are often determined through cooperation between individuals who have different functional expertise and who work toward a common goal. Agile development encourages the developers to respond to changes within the project, and also supports evolutionary development and delivery. The iterative approach that is performed in accordance with the Agile development model is generally performed within a fixed period of time.